package com.srv.pojo;

import java.io.Serializable;
import java.util.Date;

/*@Entity
@Table(name = "usuario")
@NamedQueries({
		@NamedQuery(name = "Usuario.getUsuarioList", query = "SELECT u FROM Usuario u"),
		@NamedQuery(name = "Usuario.getByLogin", query = "SELECT u FROM Usuario u WHERE u.login = :login"),
		@NamedQuery(name = "Usuario.getByLoginAndSenha", query = "SELECT u FROM Usuario u WHERE u.login = :login and u.senha = :senha") })*/
public class Usuario implements Serializable {

	private static final long serialVersionUID = -1761697539490613857L;

	/*@Column(name = "senha", nullable = false, length = 32)*/
	private String senha;

	/*@Column(name = "ativo", nullable = false)*/
	private Boolean ativo;

	/*@Column(name = "cpf", length = 11)*/
	private String cpf;

	/*@Column(name = "rg", length = 11)*/
	private String rg;

	/*@Column(name = "nome", nullable = false, length = 80)*/
	private String nome;

	/*@ManyToOne
	@JoinColumn(name = "endcode", nullable = false)*/
	private Endereco endereco;

	/*@Column(name = "numero_endereco")*/
	private int enderecoNumero;

	/*@Column(name = "complemento", length = 50)*/
	private String complemento;

	/*@Temporal(TemporalType.DATE)
	@Column(name = "nascimento", nullable = false)*/
	private Date nascimento;

	/*@Column(name = "fone1", length = 12)*/
	private String fone1;

	/*@Column(name = "fone2", length = 12)*/
	private String fone2;

	/*@Column(name = "email", length = 80)*/
	private String email;
	
	private Perfil perfil;

	public Usuario() {
	}

	public Usuario(String email, String senha) {
		this.email = email;
		this.senha = senha;
	}

	public Usuario(String login, String senha, Boolean ativo) {
		this.email = login;
		this.senha = senha;
		this.ativo = ativo;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public Boolean getAtivo() {
		return ativo;
	}

	public void setAtivo(Boolean ativo) {
		this.ativo = ativo;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public String getRg() {
		return rg;
	}

	public void setRg(String rg) {
		this.rg = rg;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}

	public int getEnderecoNumero() {
		return enderecoNumero;
	}

	public void setEnderecoNumero(int enderecoNumero) {
		this.enderecoNumero = enderecoNumero;
	}

	public String getComplemento() {
		return complemento;
	}

	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}

	public Date getNascimento() {
		return nascimento;
	}

	public void setNascimento(Date nascimento) {
		this.nascimento = nascimento;
	}

	public String getFone1() {
		return fone1;
	}

	public void setFone1(String fone1) {
		this.fone1 = fone1;
	}

	public String getFone2() {
		return fone2;
	}

	public void setFone2(String fone2) {
		this.fone2 = fone2;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Perfil getPerfil() {
		return perfil;
	}

	public void setPerfil(Perfil perfil) {
		this.perfil = perfil;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((email == null) ? 0 : email.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Usuario other = (Usuario) obj;
		if (email == null) {
			if (other.email != null)
				return false;
		} else if (!email.equals(other.email))
			return false;
		return true;
	}
}
